# _*_ coding: utf-8 _*_
from importlib import reload

import win32gui
import win32con
import sys

# 要重新导入sys 因为python 初始化后会删除 sys.setdefaultencoding 这个方法

reload(sys)
sys.setdefaultencoding('utf-8')


class W32Operate:

    def win_upload(self, filepath):
        """
        上传操作时，打开win的上传弹框，选取指定的文件
        :param filepath: 上传的文件的路径
        :return: None
        """
        # 打开对话框
        dialog = win32gui.FindWindow('#32770', u'打开')
        print(dialog)
        # win32gui.SetForegroundWindow(dialog)
        ComboBoxEx32 = win32gui.FindWindowEx(dialog, 0, 'ComboBoxEx32', None)
        ComboBox = win32gui.FindWindowEx(ComboBoxEx32, 0, 'ComboBox', None)
        Edit = win32gui.FindWindowEx(ComboBox, 0, 'Edit', None)  # 上面三句依次寻找对象，直到找到输入框Edit对象的句柄
        button = win32gui.FindWindowEx(dialog, 0, 'Button', u'打开(&O)')  # 确定按钮Button
        win32gui.SendMessage(Edit, win32con.WM_SETTEXT, None, filepath)  # 往输入框输入绝对地址
        win32gui.SendMessage(dialog, win32con.WM_COMMAND, 1, button)  # 按button
